#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void getEx(int n) {
    char map[15][30] = {
        "2(0)",
        "2",
        "2+2(0)",
        "2(2)",
        "2(2)+2(0)",
        "2(2)+2",
        "2(2)+2+2(0)",
        "2(2+2(0))",
        "2(2+2(0))+2(0)",
        "2(2+2(0))+2",
        "2(2+2(0))+2+2(0)",
        "2(2+2(0))+2(2)",
        "2(2+2(0))+2(2)+2(0)",
        "2(2+2(0))+2(2)+2",
        "2(2+2(0))+2(2)+2+2(0)",
    };
    int carry = 0x8000, count = 15;
    while (count-- >= 0) {
        if (carry == 2 && carry & n) {
            printf("%s", map[1]);
            if (1 & n) {
                printf("+");
            }
        } else if (carry == 1 && carry & n) {
            printf("%s", map[0]);
        } else if (carry & n) {
            printf("2(%s)", map[count]);
            if (n % carry) {
                printf("+");
            }
        }
        carry = carry >> 1;
    }
    printf("\n");
}

int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        getEx(n);
    }
}